home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / utils / hdk115b / hlpdk.hdt < prev    next >
Text File  |  1994-04-12  |  74KB  |  1,899 lines

  1.  
  2.  ╔══════════════════════════════════════════════════════════════════════════╗
  3.  ║                                                                          ║
  4.  ║                               HyperAct Inc.                              ║
  5.  ║                               P.O.Box. 5517                              ║
  6.  ║                         Coralville IA 52241 U.S.A                        ║
  7.  ║                          Compuserve - 76350,333                          ║
  8.  ║                        Phone/Fax - (319) 351-8413                        ║
  9.  ║                                                                          ║
  10.  ╚══════════════════════════════════════════════════════════════════════════╝ 
  11.  
  12. Table Of Contents
  13.  
  14. The Help Engine Development Kit is a system that allows you to create 
  15. hyper-text database help systems with topics and hot links, using a simple
  16. text editor and the help compiler. 
  17.  
  18. The help databases can be distributed (free of charge) with the HELPENG or
  19. HE help engine display programs. 
  20.  
  21. The help database format is release to the public domain, if you own the 
  22. Paradox Engine you can use the help databases with your own programs. 
  23.  
  24. Borland Pascal Users can purchase the Help Engine Source Code even
  25. for Applications that do not use the paradox engine, using the Native Mem
  26. format.
  27.  
  28. The helpC compiler that is part of this development kit includes the
  29. ability to create Windows Help source files from the same source the 
  30. dos help sources are created!. Write your help once, and create help
  31. databases for Dos, Windows, OS/2 and DESQview/X !
  32.  
  33. Supported Formats :
  34. Native(PX), Native (Mem), Win30, Win31, QuickHelp, Microsoft Multimedia Viewer,
  35. THELP, TVHC, POPHELP, DESQview/X, OS/2, Text, Word Processors (RTF)
  36. Sony MM Player (Via MM Viewer), WWW HTML (Supporting Windows, 
  37. Macintosh, Unix - Motif, VMS and probably some other platforms)
  38.  
  39. From the same source you created your hypertext database, you can create
  40. a text document with automatic table of contents and index sections!
  41.  
  42. Using the RTF target you can prepare your professional documentation
  43. by generating word processors documents, all from the same source!
  44.  
  45. Features :
  46.  
  47. Topics, Popups, Links, Keywords, Text Formats, Navigational and
  48. Structural facilities, Target Code insertion, Multiple module files,
  49. Automatic Pascal/C/C++ reference generation, Exception handling,
  50. Multiple file target databases, Graphics, Sound, Groups, Application
  51. Launch, Automatic exports creation, User defined link templates and more.
  52.  
  53.  
  54. Contact HyperAct Inc. if you want to purchase the WINTEXT UI library for 
  55. Turbo Pascal programs, and use the help engine window in your pascal
  56. programs.
  57.  
  58. Related Topics :
  59. Registration
  60. Contact
  61. File List
  62. Credits
  63. Help Engine
  64. Help Compiler
  65. Quick Start
  66. Related Products
  67.  
  68.  
  69. *******************************************************************************
  70. *                 Why Register and registration instructions                  *
  71. *******************************************************************************
  72.  
  73. The Help Engine Development Kit (HLPDK) is a shareware product, if you 
  74. find this product valuable, please register it. 
  75. This section describes the reasons you should register.
  76.  
  77. By registering you will receive a complete discussion of the help engine 
  78. features, and many examples of usage. You will receive a diskette with the
  79. latest HLPDK version, and DPMI (DOS protected mode) versions of the help 
  80. compiler and engines!. (The memory version of the help engine can display 
  81. huge databases only in the protected mode version). OS/2 and Windows versions
  82. of the help compiler are also included.
  83.  
  84. Your registration will help us to create the next versions of HLPDK, that
  85. will include more options, and features, some of them might even be your
  86. enhancement requests!.
  87.   
  88. A point to consider - If you want to create Windows Help source files,
  89. you will have to purchase a word processor that can output RTF files,
  90. the WORD for Windows 2.0 package, for example, is listed at around $500!.
  91.  
  92. To order your registered copy of HLPDK please do one of the following:
  93.  
  94.  1.     Order from HyperAct Inc.:     
  95.  You can order directly from HyperAct Inc.. Please refer to the supplied 
  96.  HLPDK.REG file. Edit it, print it and mail it (with a check) to: 
  97.         HyperAct Inc.,  
  98.         POBox 5517
  99.         Coralville Iowa 52241, U.S.A
  100.  
  101.  2.     Order from PsL:
  102.  You can order from Public (software) Library with your MC, Visa, AmEx 
  103.  or Discover card by calling 800-242-4PsL (from overseas: 713-524-6394) or 
  104.  by FAX to 713-524-6398 or by CompuServe to 71355,470. 
  105.  These numbers are for ordering only. HyperAct Inc. can NOT be reached at those 
  106.  numbers. Please contact HyperAct Inc. directly for any other type of problem 
  107.  (technical or other), information or request.
  108.                                               
  109. Related Topics :
  110. Contact
  111. Overview
  112.  
  113.   Please contact :
  114.  
  115.   HyperAct Inc.,  
  116.   P.O.B 5517
  117.   Coralville IA 52241,
  118.   U.S.A
  119.  
  120. Phone/Fax - (319) 351-8413
  121. e-mail address : CompuServe - 76350,333
  122.  
  123.   To contact the author directly : 
  124.  
  125. e-mail address : CompuServe - 100274,162
  126.  
  127. Related Topics :
  128. Regsiteration
  129. Overview
  130.  
  131.  This package contains the following files in the following archives :
  132.  
  133. Archive A :
  134. -----------
  135.   READMEA.HDK    - File List for Archive A.
  136.   HELPC.EXE      - Help Compiler.
  137.   HLPDK.DOC      - This file.
  138.   HELPC.DOC      - Help Compiler documentation
  139.   HLPDK.REG      - Registration file.
  140.   HLPDK.UPG      - Upgrade instructions for registered users.
  141.   HLPDK.HLP      - WinHelp Version of the HLPDK hypertext source.
  142.   THANKS.WAV     - WAV file used by HLPDK.HLP
  143.   HLPDK.INF      - OS/2 IPF Version of the HLPDK hypertext source.
  144.   PROGRAMS.TXT   - HyperAct Inc. shareware products description.
  145.   HELPDEMO.HDF   - Demo Help Project.
  146.   2NDDEMO.HDF    - Demo Help Project - file 2.
  147.   RONP.BMP       - Bitmap used in HLPDK.HDF
  148.  
  149. Archive B :
  150. -----------
  151.   READMEB.HDK    - File List for Archive B.
  152.   HELPENG.EXE    - Help Engine (Native Paradox).
  153.   HE.EXE         - Help Engine (Native Memory).
  154.   HLPDK.HDF      - Help Development Kit hypertext help database source.
  155.   HELPDEMO.HLP   - Demo Help Project file for Windows WinHelp. 
  156.   HLPDK.HDT      - Help Development Kit help database file. (Native Paradox)
  157.   HLPDK.SET      - Help Development Kit help database file.
  158.   HLPDKTOP.DB    - Help Development Kit help database file.
  159.   HLPDKTOP.PX    - Help Development Kit help database file.
  160.   HLPDKLNK.DB    - Help Development Kit help database file.
  161.   HLPDKLNK.PX    - Help Development Kit help database file.
  162.   HLPDKKEY.DB    - Help Development Kit help database file.
  163.   HLPDKKEY.PX    - Help Development Kit help database file.
  164.   MULTI1.HDF     - Multiple file target database demo - 1.
  165.   MULTI2.HDF     - Multiple file target database demo - 2.
  166.   MAKMULTI.BAT   - Demo multiple file target database batch file.
  167.   HDKACT.HLP     - HELPCW Help File.
  168.  
  169. Archive L :
  170. -----------
  171.   READMEL.HDK    - File List for Archive L.
  172.   HDKLIB.DOC     - HLPDK System Library Documentation.
  173.   HDKLIB.HDF     - HLPDK System Library main file.
  174.   RTFLIB.HDF     - RTF common functions extension library.
  175.   VWRLIB.HDF     - MMViewer Extension Library for 256 color bitmaps.
  176.   IPFLIB.HDF     - System extension library component. (OS/2)
  177.   WWWLIB.HDF     - HTML Extension Library.
  178.   TESTLIB.HDF    - A Small test for the library - Source.
  179.   TESTLIB.HLP    - A Small test for the library - WinHelp format.
  180.   PRS.BMP        - A Bitmap used in the test.
  181.   RANCO.AVI      - A Short Video Sequence featuring Ranco The Great.
  182.   CREDITS.WAV    - Credits in vocal, for the MOVIE demo help database.
  183.   INTRO.WAV      - Vocal introduction to the MOVIE demo help database.
  184.   MOVIE.HDF      - A Multimedia Help Database demo source.
  185.   MOVIE.HLP      - A Multimedia Help Database demo - WinHelp version.
  186.  
  187. Note : In some cases all files may be in one archive.
  188.  
  189. The registered version is shipped in one archive and includes some additional 
  190. files.
  191.  
  192. The following files are included with the Registered and Advanced versions,
  193. and are not included in the shareware evaluation package :
  194.  
  195.   HELPCX.EXE     - Protected Mode Help Compiler.
  196.   HELPCO.EXE     - OS/2 Mode Help Compiler.
  197.   HELPCW.EXE     - Windows Mode Help Compiler.
  198.   HELPENGX.EXE   - Protected Mode Help Engine - Paradox Native Mode.
  199.   HEX.EXE        - Protected Mode Help Engine - Memory Native Mode.
  200.   README.HDK     - Registered Version README.
  201.   DPMI16I.OVL    - DPMI overlay module (Borland).
  202.   RTM.EXE        - Borland DPMI Run Time Module.
  203.   RTMRES.EXE     - Resident RTM version.
  204.   DPMIINST.EXE   - DPMI configuration file.
  205.   DPMILOAD.EXE   - DPMI Loader.
  206.   DPMIUSER.DOC   - Notes about using Borland DPMI services.
  207.   BIVBX10.DLL    - HelpCW Support DLL.
  208.   PXENGWIN.DLL   - HelpCW Support DLL.
  209.   MHGA200.VBX    - HelpCW Support VBX.
  210.   BWCC.DLL       - HelpCW Support DLL.
  211.   CTL3DV2.DLL    - HelpCW Support DLL.
  212.   MH300RUN.DLL   - HelpCW Support DLL.
  213.  
  214. Related Topics :
  215. Overview
  216. Quick Start
  217.  
  218. HLPDK, helpC, The Help Engines, NewsDB, IL2HDK, NG2HDK, RTF2HDK, RC2HDK and
  219. other products, were written by Ron Loewy. These products are distributed 
  220. worldwide by HyperAct Inc..
  221.  
  222. HELPENG, helpC were written using Turbo Pascal 6.0, and Borland Pascal 7.0,
  223. Paradox Engine 2.0, and Paradox Engine 3.0, 3.01. 
  224. (Trademarks of Borland International).
  225.  
  226. Windows, Microsoft, HC and Quick Help are trademarks or copyrights
  227. of Microsoft Corp.
  228.  
  229. The HELPENG program was written using the WINTEXT UI library, 
  230. (c) 1991,93 Loewy Ron.
  231.  
  232. THELP, HL and TVHC are Trademarks or copyrights Borland International.
  233.  
  234. POPHELP is a copyright of TurboPower Software.
  235.  
  236. TVHC support, and other ideas were suggested by MunLeong Chan.
  237.  
  238. Parts of the Help Engines were generated using Ron Loewy's WTGEN and dbGen
  239. CASE code generators.
  240.  
  241. Parts of the Help Compiler were generated using Ron Loewy's dbGen database 
  242. code generator.
  243.  
  244. Yaniv Golan helped me with beta-testing, debugging and suggestions.
  245. He is also the  author of the HPCHDK and POPHDK packages.
  246.  
  247. John Murphy notified me of the paragraph formatting difficulties that
  248. lead to the .PARAGRAPH .END-PARAGRAPH formatting capabilities.
  249.  
  250. DESQview/X is a trademark of Quarterdeck Office Systems.
  251.  
  252. MDVXHELP is a copyright (1992) of Daniel J. Bodoh. I have used his
  253. excelent documentation of DESQview/X help format to generate code
  254. to this environment.
  255.  
  256. The HC31 problem with characters with ordinal values biggen than 127
  257. was solved thanks to Mr. Lars Fosdal of Norway.
  258.  
  259. OS/2 is a registered trademark of International Bussiness Machines.
  260.  
  261. The Text Cursor restore problem in the help engines was reported by Prof.
  262. Timo Salmi of the Univ. of VAASA, Finland.
  263.  
  264. D.J. Murdoch suggested the Cross Reference Report enhancements, and WinHelp
  265. Go To Search list box title problem.
  266.  
  267. Word for Windows is a trademark of Microsoft corp.
  268.  
  269. WordPerfect, WordPerfect for Windows are trademarks of WordPerfect corporation.
  270.  
  271. Lotus, AMI PRO are trademarks of Lotus corp.
  272.  
  273. Reuben Halevi from HyperAct Inc. did a lot to make this product real.
  274.  
  275. Slren Pingel Dalsgaard notified me of the small scroll box bug in helpeng, as
  276. well as some spelling mistakes in helpC.
  277.  
  278. TurboPower Software Big Collections are used as a basis to the huge memory 
  279. tables used in the help compiler and engine.
  280.  
  281. Peter Sawatzki's JanusW dialog boxes are used in the HelpCW program.
  282.  
  283. The Borland Visual Control Pack gauge control is used in the HelpCW program.
  284.  
  285. The Borland Pascal 7.0 C'T' magazine patch was used in the HELPCO program.
  286.  
  287. Related Topics :
  288. Overview
  289.  
  290. From the command line enter HELPC HELPDEMO to compile the demo help database.
  291.  
  292. After the compilation process is ended, enter HELPENG HELPDEMO to browse the
  293. demo help database.
  294.  
  295. If you want to compile for windows :
  296.  
  297. from the command line enter HELPC HELPDEMO /W31
  298. and after that HC31 HELPDEMO
  299. (HC31 is the Microsoft Help Compiler)
  300. from windows, open the HELPDEMO.HLP file from the windows help engine.
  301. (Notice - if you do not have the HC help compiler from windows, we have
  302. included a compiled version of HELPDEMO (HELPDEMO.HLP) so you will be
  303. able to feel the quality of the output that can be generated, and decide
  304. if you want to purchase the HC31 program (Included with the SDK, BC++, 
  305. TPW, BP and probably some other packages), or download it from one of the
  306. sites Microsoft had uploaded it to).
  307.  
  308. If you use windows 3.0, or want your help file to be compatible with
  309. WinHelp 3.0 use :
  310.         HELPC /W30 HELPDEMO
  311.         HC HELPDEMO
  312.  
  313. To compile for THELP use : 
  314.         HELPC /TH+ HELPDEMO
  315.         HL -x -e100 -p -i -oHELPDEMO.TPH HELPDEMO.HL
  316.  
  317. To compile for QuickHelp : 
  318.         HELPC /QH+ HELPDEMO
  319.         HELPMAKE -e15 -oHELPDEMO.QH HELPDEMO.SRC
  320.  
  321. To compile for TVHC :
  322.         HELPC /TV+ HELPDEMO
  323.         TVHC HELPDEMO.TXT
  324.  
  325. To compile for POPHELP :
  326.         HELPC /PH+ HELPDEMO
  327.         MAKEHELP /Q HELPDEMO
  328.  
  329. To compile for DESQview/X :
  330.         HELPC /XD+ HELPDEMO
  331.         MDVXHELP HELPDEMO.HLP @HELPDEMO.LST
  332.         COPY HELPDEMO.HLP d:\DVX\HELP
  333.  
  334. To compile for Native Mem Format :
  335.        HELPC /MT+ HELPDEMO
  336. (Use HE HELPDEMO to view that database).
  337.  
  338. To compile for IPF (OS/2) format :
  339.        HELPC /OS2 HELPDEMO 
  340.        Switch to an OS/2 session.
  341.        IPFC /INF HELPDEMO
  342. (Use the VIEW Command to browse the database).
  343.  
  344. To compile for the Microsoft Multimedia Viewer 2.0 :
  345.        HELPC /MMV HELPDEMO
  346.        Open the MMViewer compiler (WMVC.EXE)
  347.        File|Open HELPDEMO.MVP
  348.        Compile (F5)
  349. (Use the VIEWER2.EXE program to browse the database).
  350.  
  351. To create a HTML database for use with a WWW server :
  352.  
  353.   Define the .ROOTNODE and .ROOTPATH of your server in the helpdemo source.
  354.   HELPC /WWW HELPDEMO
  355.   Copy the *.HTM files to the server's path.
  356.  
  357. To create a text document with table of contents, glossary and index :
  358.        HELPC /TXT HELPDEMO
  359.  
  360. To create a word processor document with table of contents, 
  361. glossary and index :
  362.        HELPC /RTF HELPDEMO
  363.        import helpdemo.rtf to your word-processor, and update fields.
  364.        (e.g. Microsoft WinWord : File|Open to open the document
  365.                                  Answer Yes to convert from Rich Text Format
  366.                                  Press F9 to update embedded format fields
  367.                                  somewhere in the first page (after the 
  368.                                  Table Of Contents title), and in the last 
  369.                                  page (after the index title).)
  370. Related Topics :
  371. Overview
  372. File List
  373.  
  374. To start the help engine program enter HELPENG on the command line, and 
  375. choose the help database you want to view from the list box. Use the Tab key
  376. to cycle between hot-link words, and press Enter to go to that link.
  377.  
  378. If you know the name of the SET file of the database you want to activate, you
  379. can enter it on the command line, and the help engine will display it.
  380.  
  381. If you have a mouse, you can use it to point at the hi-lighted links, and 
  382. activate them by pressing the left mouse button.
  383.  
  384. Press the ALT-T key combination to choose from a list of TOPICS in the 
  385. database, Press ALT-B to go back to the previous displayed TOPIC, Press
  386. ALT-X to exit the help engine.
  387.  
  388. The exit command can be given by pressing the right mouse button.
  389.  
  390. Use F10 to open the menu bar, and use the arrow keys to navigate the 
  391. options. When you find the option you are interested in, Use the Enter
  392. key to execute it, or the Esc key to cancel. The menu bar can be navigated
  393. using the mouse as well.
  394.  
  395. To create a new help database please refer to the HELPC documentation
  396. file.
  397.  
  398. If you want to use the Native Mem Format Databases, Please use the supplied
  399. HE.EXE program. 
  400.  
  401. Related Topics :
  402. Trouble Shooting
  403. Overview
  404.  
  405. If you receive some kind of an error message while using the help development
  406. kit please refer to this section.
  407.  
  408. tableOps: xxxx error message :
  409. This message is generated by the Paradox Engine if an internal error occurs,
  410. if you receive a message that is not understood (e.g. Table is busy), 
  411. please try one of the following :
  412.  1. Try running the Help Compiler or the Help Engine with another input and 
  413.     notice if the problem exists, if it does, turn to the next entry,
  414.     otherwise try to see what the difference between the inputs is.
  415.  2. Check your free memory, try to move some TSR's from memory, or use the
  416.     protected mode compiler/engine available with the registered version.
  417.  3. Check if you have loaded dos SHARE program, it is advised to use SHARE
  418.     with programs that use the Paradox Engine. If you receive a table busy
  419.     error, try to see if you have another program that uses the same table 
  420.     in another session (Windows/DESQview etc..).
  421.  4. PANIC - Please contact the distibuter/author for additional help.
  422.  
  423. Microsoft's HC31 help compiler will generate a error in RTF file error :
  424.  
  425.  1. Re-compile using helpC 4.0+. This should solve the problem, if the problem
  426.     still exists - please try steps 2 and 3, and notify the author. 
  427.  2. Use a binary disk editor to look at the character at the position x - 1
  428.     in the RTF file (where x is the error position reported by HC31).
  429.  3. Try to replace that charqacter from a special PC oem character to a 
  430.     "standard" ascii character (such as *). If the problem still occurs,
  431.     please contact HyperAct Inc./The author, otherwise - you probably came 
  432.     accross a character that HC31 can not handle. In that case - try using
  433.     HC300b (the one that generates WinHelp 3.0 format), or delete these 
  434.     characters from your source HDF file.
  435.  
  436. Borland's HL help linker will generate a FE02: Out Of Memory error :
  437.  1. Re-compile using helpC V3.0+, to include ;INDEX directives after the
  438.     screen's definitions.
  439.  
  440. Borland's HL help linker will complain about undefined context numbers :
  441.  1. You probably have a contents.h file in the current directory, that hl
  442.     tries to use to bind the help topics to Borland's IDE on-line help,
  443.     try renaming this file, and re-compile with HL.
  444.  
  445. helpC will not create the database when compiling to Native Mem (/MT+) :
  446.  1. Try compiling with report generation on (/R+) to Native Paradox
  447.     (/PX+) format. If there are errors, consult the HELPC.LST file, fix 
  448.     them, and re-try.
  449.  2. If the database is BIG, you might not have enough memory - Remember that
  450.     Native Mem tables are generated in memory. You will have to use the
  451.     HelpCX protected mode compiler (Available with the registered version).
  452.  
  453. HelpEng/HE will complain on an old-database when trying to open a help
  454. database with it :
  455.  1. Re-Compile the database using helpC.
  456.  
  457. HelpEng/HE will complain on un-supported database format, when trying to
  458. open a database :
  459.  1. HelpEng can not display Native Mem databases, and HE can not display
  460.     Native PX databases. Use the other help engine supplied.
  461.  
  462. HE will not be able to open a Native Mem database :
  463.  1. Use the protected mode HEX help engine. (Available for registered users).
  464.  
  465. Where is HL - Borland's Help Linker :
  466.  1. HL is not included with Borland C++ or Borland Pascal, Borland sells an
  467.     additional package called Borland Open Architecture (and Borlad OA for 
  468.     Pascal) that include among other things - the THELP help linker.
  469.  
  470. Windows HC run's out of memory :
  471.  1. Use HCP - the protected mode Help Compiler. Look for HCP505.ZIP on
  472.     ftp.microsoft.com, or CIS:WINSDK/WINHELP.
  473.  
  474. Windows compiled databases do not start with the OVERVIEW screen :
  475.  1. The Windows Help Compiler has a strange bug when it does not have enough
  476.     memory or diskspace, it sometimes does not display any information, does
  477.     not compress the database, and ignores the contents screen defined in the
  478.     HPJ file.
  479.  
  480. We have encountered some users that ran into problems, because they did 
  481. not use the dos SHARE program. We advise that you will always load the 
  482. SHARE program in your AUTOEXEC.BAT file.
  483.  
  484. Related Topics :
  485. Overview
  486. Help Engine
  487. Help Compiler
  488.  
  489. The helpC help compiler is a dos command line program that receives a 
  490. help definition file (.HDF) and produce a help database. 
  491.  
  492.   The helpC command line is :
  493.  
  494.  HELPC source.fil [/NT:topic-table-name]
  495.                   [/NL:link-table-name] 
  496.                   [/ND:data-file-name] 
  497.                   [/NK:keywords-table-name] 
  498.                   [/D:conditional-define]
  499.                   [/ED=P|C|+]
  500.                   [/EL=x]
  501.                   [/FC+]
  502.                   [/EA+]
  503.                   [/TN+]
  504.                   [/Ipath]
  505.                   [/R+]  [/ST-] [/CS+] [/EP+] [/WD-] [/RM-]
  506.                   [/W+]  [/W30] [/W31] [TH+] [/QH+] [/TV+] [/PH+] [/XD+]
  507.                   [/PX+] [/MT+] [/OS2] [/TXT] [/RTF] [/PP+] [/MMV]
  508.                   [/WWW]
  509. When the target of the compiler is one of the native help engines
  510. the output of the compiler is a set data file called source.SET, that
  511. includes the names of the other help database components. 
  512.  
  513. Please Notice - if the /W+ /W30 or /W31 switch is defined, the compiler 
  514. will generate a .HPJ and .RTF files that can be used with the Microsoft 
  515. HC (v3.00b) or HC31 help compiler, and output a .HLP windows help file!. 
  516.  
  517. By default the help compiler does not produces a help cross reference 
  518. report on the topics/links used in the database, if the /R+ switch is set, 
  519. a cross-reference report will be generated, and database integrity indicators 
  520. will be given. Notice, however, that with the /R+ switch helpC is much
  521. slower than with /R-.
  522.  
  523. IMPORTANT - Scan the output cross reference report for links defined, that
  524. are not defined as topics!
  525.  
  526. Notice - An additional switch is available that instructs the help compiler
  527. to indicate it's parse and code generation progress. Use the /EP+ switch to
  528. see that the helpC compiler is active. Please understand that the compile
  529. process can take a long time, on complex help databases. This switch does
  530. nothing more that ensure to you that the help compiler is alive. 
  531.  
  532. The /ST switch defines if the topic name defined in the .TOPIC command
  533. can include embeded spaces. By default this switch is set to /ST- (No
  534. embedded spaces).
  535.  
  536. The /CS switch turns Topics and Links case sensativity to ON. Use this
  537. switch with care - Only if you must have a lower/mixed case index in THELP
  538. or POPHELP use this switch. Notice that help databases that compile fine
  539. with case sensativity set to off, might fail to do so in case sensativity
  540. on. By deafult this switch is set to off (-).
  541.  
  542. The /XD switch generates code to the MDVXHELP help compiler, available
  543. free in the file DVXHLP10.ZIP on the Internet. When this switch is given,
  544. a set of cover and section files is generated, as well as a response
  545. file that should be used to compile the help database.
  546.  
  547. The /OS2 switch generates IPF source code. You must compile the generated code 
  548. with IPFC, from within an OS/2 session (window or full screen).
  549.  
  550. The /WD switch controls Warning Display. By default Warning Display is On, if
  551. you do not want to see the Warnings issued by the compiler when a topic name 
  552. or link are found to be incompatible with the target source, and helpC 
  553. translate them to be syntax compatible with the target.
  554.  
  555. Use the /RTF switch to create a word-processor ready RTF file, import this
  556. file (and update the fields e.g.- F9 in WinWord) to create a professional
  557. formatted documentation from the same source code!.
  558.  
  559. Use the /TXT switch to create a text file document from your .HDF source.
  560. With this feature you can create on-line help and printed documentation
  561. from the same source!.
  562.  
  563. The /RM- switch uses disk cross-reference report tables. Usage of this 
  564. option will allow the creation of cross-reference report for huge databases.
  565. This options will slow the creation of reports, use it only for databases
  566. so big that the report can not be generated using memory tables.
  567.  
  568. The /ED= switch creates the external references (if any are defined) in one
  569. of the following formats : /ED=P (Default) creates the external definitions
  570. in a pascal unit, /ED=C creates the external definitions in a C header 
  571. file, and /ED=+ creates a C++ header file.
  572.  
  573. The /EL= switch sets the Error Level used. This switch can be overriden
  574. by the .ERRORLEVEL statement. The acceptable error levels are :
  575.  
  576.       0    No Check  - (Default) - No action is taken.
  577.       1    Trap      - The link is replaced to a special topic named ERROR.
  578.       2    Strip     - The link is replaced by the Text part only.
  579.       3    Delete    - The text and link parts are deleted.
  580.       9    Abort     - helpC will abort with an error message, indicating the 
  581.                        line number.
  582. Please refer to the Exception Handling section below about helpC error
  583. processing.
  584.  
  585. The /FC+ switch forces topic collection, even if the error level is 0, that
  586. does not require collection.
  587.  
  588. Use the /PP+ switch to create an export file, to be used in multiple database
  589. target files projects.
  590.  
  591. The /EA+ switch is used to export all topics in a database, during a 
  592. PreProcess target generation, compared to exporting only topics that
  593. have the .EXPORT attributes.
  594.  
  595. The /MMV switch is used to generate Microsoft Multimedia Viewer 2.0 code,
  596. You must use the WMVC.EXE program that came with your copy of the  Multimedia
  597. Publishing ToolKit (MM PTK) to compile this code.
  598.  
  599. The /WWW switch is used to generate World Wide Web HTML (Hypertext Markup 
  600. Language) sources, for use in the internet distributed hypertext database.
  601.  
  602. If the /TN+ switch is used, Topics are collected to the Table Of Contents
  603. table, and the .INSERT TOC command can be used. If a database has a .INSERT
  604. TOC with the /TN+ switch not specified, the compiler will stop and complain.
  605.  
  606. The /I switch is used to set an "include" path, to search for .include files.
  607. With this switch the HLPDK library does not need to be duplicated to each
  608. help project directory. (e.g. /IC:\HLPDK\LIB will set the include file to the
  609. C:\HLPDK\LIB directory.)
  610.  
  611. Related Topics :
  612. Overview
  613. Command Line
  614. Help Engine
  615. Technical Documentation
  616.  
  617. The compiler switches are defined on the command line. These switches can
  618. be placed before and after the source file name. The compiler will look for
  619. a file named HELPC.CFG in the current directory, and process it before any
  620. command line switches are processed. 
  621.  
  622. Switches on the command line will over-ride switches set before them, on the
  623. command line or in one of the lines of the response options file(s).
  624.  
  625. Response option files can be specified by prefixing their name with a @ sign.
  626.  
  627.  
  628.  Examples :
  629.  
  630.  If our HELPC.CFG file, in the current directory is :
  631.  
  632. /W31
  633. /R-
  634.  
  635.  And we compile using HELPC HELPDEMO
  636.  
  637.  The helpdemo.hdf file will be compiled, with the target set to WinHelp 3.1
  638.  and no cross-reference report.
  639.  
  640.  Compile using HELPC HELPDEMO /r+
  641.  
  642.  Will create WinHelp 3.1 sources, but a report will be generated.
  643.  
  644.  Compile using HELPC /w- HELPDEMO
  645.  
  646.  Will generate native format help database, no report is generated.
  647.  
  648.  If we have a file called MYSWITCH.CFG with the following lines :
  649.  
  650. /TH+
  651. /ST-
  652. /CS+
  653.  
  654.  And we compile using HELPC @MYSWITCH.CFG HELPDEMO
  655.  
  656.  A THELP source, using Long Topic Names, with case sensitivity will be 
  657.  generated, no cross reference report is generated. (HELPC.CFG contains /r-)
  658.  
  659. Related Topics :
  660. Overview
  661. Help Compiler
  662.  
  663.  
  664.  
  665. The Help Engine database is a combination of text that is read by the user,
  666. and a Topic and Links database that allows the user to view the topics
  667. he is interested in, using hyper-text methods.
  668.  
  669. This document describes the HLPDK language syntax, helpC compiler operation
  670. and the native databases structure.
  671.  
  672. Related Topics :
  673. Help Compiler
  674. Help Engine
  675. Help Definition Format
  676. Native Format Structure
  677.  
  678.  
  679.   Each help database is built of 5 components : 
  680.  
  681.  1. Help Data File    - this file contains the raw text data.
  682.  2. Topic Index       - a database table that contains the topic names, and
  683.                         the references to the topics in the Data File.
  684.  3. Links Index       - a database table that contains the list of links 
  685.                         defined for each topic, and positional data.
  686.  4. Keywords Index    - a database table that contains the list of keywords,
  687.                         and the topics that have these keywords.
  688.  5. Set Data File     - a database configuration file that contains the
  689.                         names of the 3 components defined above, and some 
  690.                         additional information.
  691.  
  692. Version 1.x is the bare-bones version that includes only the basic
  693. operations needed from a hyper-text database, this version is implemented
  694. using the Paradox Engine V3.0 to manage the Topic and Link index tables.
  695.  
  696. Version 2.x has a new field in the topic table - the title field, help
  697. databases that were compiled with V1.x will not be executed by version
  698. 2.x, they will have to be re-compiled!.
  699.  
  700. Version 3.x fields have different length - the databases have to be 
  701. re-compiled.
  702.  
  703. Version 5.0+ has a new entry in the help set file, database have to be
  704. re-compiled, or the value 128 should be added in the last line of the help
  705. set file, and the version number should be changed to 5.0.
  706.  
  707. Version 6.0+ has added the keyword support - a new database table is added,
  708. and a new set format is defined. Help databases will have to be re-compiled
  709. for Natice targets.
  710.  
  711. In Version 7.0 the title field has been expanded once more - to 70 
  712. characters. Help databases will have to be re-compiled.
  713.  
  714. In Version 8.0 the tType field was added to the Topics database. Old databases
  715. will have to be re-compiled.
  716.  
  717. The format of the help database is released to the public domain, if
  718. you implement a database viewer on this database structure, I would be
  719. happy to receive a copy ..
  720.  
  721. Related Topics :
  722. Help Compiler
  723. Help Engine
  724. Help Definition Format
  725. Topic Index Format
  726. Links Index Format
  727. Keywords Index Format
  728. Set File Format
  729.  
  730.  
  731.   The help definition file format is as follows :
  732.  
  733. | remarks ...
  734. | remarks ...
  735. | .ENTRY topic-name
  736. | [.TITLE optional title for topic]
  737. | [.TITLEATTR paragraph attributes]
  738. | [.KEYWORDS optional keywords for topic]
  739. | [.GROUPS group1 [group2 ..]]
  740. | [.LIST optional browse list for topic]
  741. | [.ACTION stuff to do when topic is entered]
  742. | [.EXPORT]
  743. | [.TEXTATTR paragraph attributes]
  744. | topic text and link reference .. 
  745. | topic text and link reference .. 
  746. | topic text and link reference .. 
  747. | topic text and link reference .. 
  748. | .END-ENTRY 
  749. | remarks ...
  750. | .ENTRY topic2-name
  751. | [.KEYWORDS keyword1 keyword2 ..]
  752. | [.GROUPS group3 [group2 ..]]
  753. | [.PARAGRAPH [paragraph attributes]]
  754. | topic 2 text and link reference .. 
  755. | topic 2 text and link reference .. 
  756. | topic 2 text and link reference .. 
  757. | [.END-PARAGRAPH]
  758. | additional topic2 text ...
  759. | .END-ENTRY 
  760. |
  761. | .POPUP popup-name
  762. | [.TITLE optional title for popup]
  763. |   definition for some reference
  764. |   ...
  765. | .END-POPUP
  766.  
  767.   As can be seen - lines between the .ENTRY and .END-ENTRY keywords are
  768.  the lines processed by the help compiler, to create the help database, 
  769.  every other line is considered a remark, and is not parsed or evaluated by
  770.  the help compiler.
  771.  
  772.   The topic text and link reference lines are simple text lines, with
  773.  special link marks.
  774.  
  775.   A sample will provide the details :
  776.  
  777. This is a text help line that includes one ~link~link-topic-name~ in it.
  778.  
  779.   This line will be displayed in the help engine program as :
  780.  
  781. This is a text help line that includes one link in it.
  782.  
  783.   The word "link" will be in a different color then the rest of the line, 
  784.  to indicate that this is a link. If the user hi-lights the link, and
  785.  presses Enter (or points the mouse cursor and clicks), the help engine will
  786.  look for a topic called "link-topic-name", and display it.
  787.  
  788.   Browse the HELPDEMO.HDF file for a demo of a help database definition file.
  789.  
  790.  Notes :
  791.  
  792.  1. The keywords .TOPIC and .END-TOPIC can be used instead of .ENTRY and
  793.   .  .END-ENTRY respectively.
  794.  
  795.     An equivalent pair of keywords are .TOP and .ENDTOP .
  796.  
  797.     You can use .EXT-TOPIC instead of .TOPIC/.ENTRY etc.. - topics created
  798.     with that statement are the same as regular topics, only - an external
  799.     reference is created for them to be linked to a pascal/C/C++ program.
  800.  
  801.  2. Keywords are NOT case sensitive. (.topic = .TOPIC = .eNTry)
  802.  
  803.  3. The .TITLE keyword is optional. If no title is defined, the topic name
  804.     is used as a title. The .TITLEATTR keyword is used to describe the
  805.     title text attributes. The syntax is the same as the .PARAGRAPH text
  806.     attributes. Please refer to the Text Attributes section below for further
  807.     discussion of the optional paragraph attributes. In the WinHelp and
  808.     Multimedia targets, the title can have links in it, so graphic and
  809.     inter-paragraph text attributes can be applied.
  810.  
  811.  
  812.  4. If you want the ~ sign to appear in your help database, use ~~ in your
  813.     help source file. (e.g. "This is a ~~" will be "This is a ~" in the final
  814.     help database.).
  815.  
  816.  5. The Optional .PARAGRAPH and .END-PARAGRAPH commands in the help topic text,
  817.     specify the start and the end of a paragraph. This feature is currently 
  818.     supported only for MMViewer, WWW, WinHelp, RTF and IPF sources. This feature
  819.     is important if you want to create long paragraphs that will wrap correctly
  820.     when a user resizes the help window. Please refer to the 
  821.     Text Attributes section below for further discussion of the optional 
  822.     paragraph attributes.
  823.  
  824.     The .PAR and .ENDPAR keywords can be used instead of the .PARAGRAPH 
  825.     and .END-PARAGRAPH keywords.
  826.  
  827.  6. When a .PARAGRAPH is issued, a .END-PARAGRAPH MUST be specified at the
  828.     end of the paragraph. These commands must appear as the first words in
  829.     a line. The text after the .PARAGRAPH command is NOT part of the text 
  830.     of the help topic, but paragraph text attributes can be specified there.
  831.  
  832.  
  833.  7. The optional .KEYWORDS command can appear after the .TITLE command
  834.     (If there is one), or the .TOPIC header (otherwise), Use this command
  835.     to help the user search for sets of topics that are connected to a 
  836.     specific keyword. The syntax of this command is :
  837.     .KEYWORDS keyword-1 keyword-2 ... 
  838.     Multiple .KEYWORDS lines are allowed, if there are a lot of KEYWORDS,
  839.     that will not fit on a single line, multiple .KEYWORDS lines can be
  840.     used. (NewsDB - The usenet hypertext generator uses that feature).
  841.  
  842.  8. .POPUP and .END-POPUP (or .ENDPOP) are used to define popup topics that 
  843.     are displayed on the same screen as the original topic that includes the
  844.     link to them. Popup entries allow the user to consult a glossary, and 
  845.     not lose the topic he was reading. Popups are supported in the WinHelp,
  846.     OS/2 IPF, Native PX/Mem and MMViewer formats. In the other formats Popups are 
  847.     used as standard topics.
  848.  
  849.  9. In the Text/RTF targets .POPUP entries will be automatically included in a 
  850.     Glossary file that you can add as an appendix to your documentation.
  851.  
  852. 10. The .GROUPS statement associate a topic with several groups, you can 
  853.     create topics with menus to groups of other topics using the statement
  854.     ".INSERT GROUP group-name" in your topic text. Please refer to the 
  855.     Groups section of this document for additional discussion of this
  856.     function.
  857.     Multiple .GROUPS lines are allowed, if there are a lot of GROUPS,
  858.     that will not fit on a single line, multiple .GROUPS lines can be
  859.     used.
  860.  
  861. 11. The .LIST attribute associates a topic to a browse sequence, in this
  862.     name. The topic will be after the previous topic that belongs to this
  863.     list, and before the next topic that belongs to this list. The list
  864.     browse sequences are currently supported in the WinHelp and MMViewer
  865.     targets only.
  866.  
  867. 12. Graphic support is available by using a Graphic Link, a Graphic Link,
  868.     is a link that has the following format :
  869.     ~Text to display if not a graphic target~graphic-name~
  870.     Where graphic-name is the name of a graphic object defined with the
  871.     .GRAPHIC statement. Please refer to the Graphics Section below for more
  872.     information.
  873.  
  874. 13. If the .EXPORT attribute is specified, helpC will automatically create
  875.     a reference to the topic in an export file. This function can be useful
  876.     when you create a multiple file target database. This command can be very
  877.     useful when you have to create a complex multi file database, and use a
  878.     'make' utility to maintain the project. For more information about this
  879.     attribute, please refer to the Complex Projects section below.
  880.  
  881. 14. Sound support is available by using a Sound link. This link will play a 
  882.     sound file, when the user clicks the link. The link has the following
  883.     format :  ~Text-That-Will-Appear~soundLinkName~
  884.     Where Text-That-Will-Appear will be displayed on the screen, and when the
  885.     text will be clicked, the sound object defined as soundLinkName will be
  886.     played. Please refer to the Sound section below.
  887.  
  888. 15. Applications can be launced from the help database by clicking a link, that
  889.     was defined as an application. The syntax is : ~Text~application-link~
  890.     where Text is the text that will appear to the user, and application-link
  891.     is the identifier of the application that will be executed, as defined in
  892.     the .APPLICATION statement. Please refer to the Application Launch section
  893.     below for more information.
  894.  
  895. 16. User defined links (.USERLINK) can be created and used in the topic text, 
  896.     please refer to the Links section below for discussion of this feature.
  897.  
  898. 17. The .ACTION attribute of the topic, can be used to start some action(s), 
  899.     when the user enters the topic. This feature is supported in the WinHelp
  900.     and MULTIMEDIA VIEWER targets. 
  901.     e.g.  .ACTION SndPlaySound("EXPLAIN.WAV",1)
  902.     Will use the MMSYSTEM high level sound routine (That has to be registered)
  903.     to play a WAV file called EXPLAIN.WAV.
  904.     Multiple .ACTION lines can be specified.
  905.  
  906. 18. The .TEXTATTR attribute of the topic can be used to define default 
  907.     paragraph attributes to the topic. These attributes override the 
  908.     .ATTRDEFAULTS statement attributes for this topic, and can be 
  909.     over-ridden by the paragraph attributes. Please refer to the text 
  910.     attributes section below for more information.
  911.  
  912. Additional commands include :
  913.  
  914. | .TEXTCOLOR, .LINKCOLOR and .LINKHIGH - VGA colors of text and links in normal 
  915. and high (selected) states in the native help formats.
  916.  
  917. The syntax of these commands is :
  918.  
  919. | .TEXTCOLOR w 
  920.  
  921. or
  922.  
  923. | .LINKCOLOR x
  924.  
  925. or
  926.  
  927. | .LINKHIGH y
  928.  
  929. Where w, x and y are the color of the text/link, which is a combination of the 
  930. color of the foreground with the color of the background multiplied by 16.
  931.  
  932. The colors that can be used for both fore and background are :
  933.  
  934.   Black     = 0
  935.   Blue      = 1
  936.   Green     = 2
  937.   Cyan      = 3
  938.   Red       = 4
  939.   Magenta   = 5
  940.   Brown     = 6
  941.   LightGray = 7
  942.  
  943. The colors that can be used only for the foreground are :
  944.  
  945.   DarkGray     = 8
  946.   LightBlue    = 9
  947.   LightGreen   = 10
  948.   LightCyan    = 11
  949.   LightRed     = 12
  950.   LightMagenta = 13
  951.   Yellow       = 14
  952.   White        = 15
  953.  
  954. For example : to set the normal color of a link to light green on blue, use
  955.  
  956. | .LINKCOLOR 26
  957.  
  958. where 26 = 10 + 16 * 1. (10 = light green, 1 = blue).
  959.  
  960. Creating Multiple Source Projects :
  961.  
  962. Use the .INCLUDE commands in the source of your .HDF file, to include an
  963. additional source file. .INCLUDE is not supported in the middle of a topic.
  964.  
  965. For Example :
  966.  
  967.  .. some stuff 
  968.  
  969. | .include 2ndfile.hdf
  970.  
  971.  .. additional stuff
  972.  
  973. will process 2NDFILE.HDF in the middle of our source file.
  974.  
  975. Please notice - .INCLUDE commands can be nested in your source file,
  976. it is however not recommended to nest them too deep, helpC does not
  977. close the input file when a .INCLUDEd file is processed, in order to
  978. minimize help generation time - there is however, a limit on the number
  979. of open files that can be used by a program - this is a limit set by dos.
  980.  
  981. Code Insertion :
  982.  
  983. Use the .INSERT CODE statement to insert target code that will not be 
  984. translated by helpC. helpC will send un-translated code to the output target
  985. until a .END-CODE statement is found.
  986.  
  987. For example - creating a small table in WinHelp format :
  988. | .. normal code
  989. | .ifdef windows
  990. | .insert code
  991. | \pard{\tab column1\tab column2\tab column3}\par
  992. | \pard{\par col1data\tab col2data ..}\par
  993. | .end-code
  994. | .endif
  995.  
  996. Table Of Contents :
  997.  
  998. Use the .INSERT TOC command to insert the Table Of Contents of all the topics
  999. defined in the database, sorted by alphanumeric order. Notice that databases
  1000. that use this command should be compiled using the /TN+ switch
  1001.  
  1002. GUI Font based targets :
  1003.  
  1004. The .FIXEDFONT command is used to define a non proportional font as the 
  1005. default font of the help database. Currently the only targets affected
  1006. by this command are MMViewer, WinHelp, RTF. If you find that your help 
  1007. databases are not aligned after they are converted to WinHelp format, use 
  1008. this command and re-compile. This command has no effect on targets that are 
  1009. different from the targets mentioned above.
  1010.  
  1011. The .PCFONT command is used to define a font that has the standard pc 
  1012. character set (Terminal - in windows). If you convert a text based 
  1013. database that uses the PC's special characters, use this command to
  1014. set the default font. This command has no effect on targets that are 
  1015. different from the targets mentioned above.
  1016.  
  1017. Text targets :
  1018.  
  1019. The .PAGELENGTH and .PAGEWIDTH statements set the printed page length in
  1020. rows, and width in columns. The syntax is .PAGELENGTH xx or .PAGEWIDTH yy .
  1021.  
  1022. Font Palette :
  1023.  
  1024. Use the .SETFONT command to change or add fonts to the font palette, The 
  1025. syntax is : .SETFONT font-number 'Font-Name-In-The-Target-Language'. If
  1026. for example we would like to change font number 3 in the windows target
  1027. to be a font X of family Y we would write : 
  1028. | .SETFONT 3 'Y X'
  1029.  
  1030. Text Attributes :
  1031.  
  1032. Use the .TITLEDEFAULTS statement to set the default text attributes of the
  1033. topics titles in the help database. These defaults can be over-ridden with
  1034. the .TITLEATTR statement in the topic definition. Please refer to the Text
  1035. Attributes section below for discussion of paragraph text attributes.
  1036.  
  1037. Use the .ATTRDEFAULTS statement to set the default text attributes of 
  1038. paragraph text in the database. Please refer to the Text Attributes section 
  1039. below.
  1040.  
  1041. Error Handling :
  1042.  
  1043. Use the .ERRORLEVEL command to set the error level. The syntax is .ERRORLEVEL x
  1044. where x is one of the following :
  1045.  
  1046.       0    No Check  - (Default) - No action is taken.
  1047.       1    Trap      - The link is replaced to a special topic named ERROR.
  1048.       2    Strip     - The link is replaced by the Text part only.
  1049.       3    Delete    - The text and link parts are deleted.
  1050.       9    Abort     - helpC will abort with an error message, indicating the 
  1051.                        line number.
  1052. Please refer to the Exception Handling section below about helpC error
  1053. processing.
  1054.  
  1055. Alias Topics :
  1056.  
  1057. Use the .ALIAS command to substitute a Popup/Topic name with another name. The
  1058. syntax is .ALIAS newname origname. Whenever a newname link is found, the alias
  1059. of origname is used. This can be very useful when you want to give multiple
  1060. names to a topic, or when HLPDK source is the target of an incremental 
  1061. compiler.
  1062.  
  1063. Use the .CONTENTS command to change the initial (Overview) screen displayed by
  1064. the Help Engines. By Default this screen is called OVERVIEW.
  1065.  
  1066. Graphic Support :
  1067.  
  1068. Use the .GRAPHIC statement to define a graphic object, that can be referenced
  1069. elsewhere in your document. 
  1070. The syntax is :
  1071. | .GRAPHIC graphic-name path-to-graphic-file
  1072. Please refer to the Graphics section below, for further information.
  1073.  
  1074. External Links :
  1075.  
  1076. Use the .EXTLINK command to define links in external database file. With this 
  1077. command you can create multiple file target database projects. Please refer to
  1078. the Links section below for more information about this feature.
  1079.  
  1080. Sound Support :
  1081.  
  1082. Use the .SOUND command statement to define a sound object, that can be used as
  1083. a Sound link elsewhere in your document.
  1084. The syntax is :
  1085. | .SOUND sound-name sound-file-name
  1086. Please refer to the Sound section below for more information about this feature.
  1087.  
  1088. Application Launch :
  1089.  
  1090. The .APPLICATION statement is used to define an application object that can be
  1091. launced by an application-launch-link. The syntax is :
  1092. | .APPLICATION application-identifer application-definition
  1093. where application-identifer is the identifer that will be used in 
  1094. application-launch-links, and application-definition is the path to the
  1095. application. If the application needs to get parameters, the path and the
  1096. parameters are specified in quotes. Please refer to the Application Launch
  1097. section below for additional information.
  1098.  
  1099. External Routines Support :
  1100.  
  1101. The .ROUTINE statement can be used to define external routines that can be 
  1102. called from the help database. The syntax is :
  1103. | .ROUTINE routine-name module-name parameter-definition
  1104. Where routine-name is the name of the procedure/function to be called, 
  1105. module-name is the name of the library/DLL that the routine resides in (No need
  1106. to add the .DLL extension), and parameter-definition is the definition of the
  1107. parameters that the routine receives.
  1108. The parameter definitions is a string with one character describing each
  1109. parameters type. The following definitions are used :
  1110.  
  1111. char    C definition               Pascal definition
  1112.  
  1113. u    unsigned short (WORD)      Word
  1114. U    unsigned long  (DWORD)     Longint
  1115. i    short int                  byte
  1116. I    int                        integer
  1117. s    near char * (PSTR)         PChar
  1118. S    far char * (LPSTR)         PChar
  1119. v    void 
  1120.  
  1121. Embedding Files :
  1122.  
  1123. Use the .EMBEDD statement to add files to your help database. The files defined
  1124. as embedded will appear in the [baggage] section of your WinHelp/MMViewer 
  1125. project definition and will be stored with the rest of the database.
  1126.  
  1127. The syntax is :
  1128.  
  1129. | .EMBEDD file-id path-to-file
  1130.  
  1131. Where file-id is the name the file will be referenced by, and path-to-file is
  1132. the path to the file on the author's machine.
  1133.  
  1134. Distributed Hypertext Databases :
  1135.  
  1136. Use the .ROOTNODE and .ROOTPATH statements to define the root node address,
  1137. and the root path address of the hypertext database, when compiling to a
  1138. distributed hypertext database format. (e.g. WWW).
  1139.  
  1140. The syntax is :
  1141.  
  1142. | .ROOTPATH root-path-string
  1143. | .ROOTNODE root-node-address
  1144.  
  1145. Related Topics :
  1146. Technical Documentation
  1147. Conditional Defines
  1148. Groups
  1149. Text Attributes
  1150. Graphics
  1151. Sound
  1152.  
  1153. Links are the special "commands" embedded in a topic text, that provide
  1154. special functionality in the target database.
  1155.  
  1156. All links are described in the topic text as a combination of text that will
  1157. appear, and a link identifier.
  1158.  
  1159. The syntax, in a topic text for a link is :
  1160.  
  1161.  .. Some Standard Text .. ~Link Text~Link Id~ .. some more text ..
  1162.  
  1163. Link Id is a unique identifier that describe this link.
  1164.  
  1165. The most common link, is a topic link, this link allows the user to click on
  1166. the Link Text, that is usually in a different color than the rest of the text,
  1167. and by clicking on this texs, the topic in the help engine window is replaced,
  1168. with the topic that has the same identifier as the Link Id specified in the
  1169. identifier.
  1170. (A Topic is defined by a .topic statement somewhere else in the source file).
  1171.  
  1172. Another type of link, is the Popup link. When the Link Id is the Id of a popup,
  1173. clicking on the link will display the popup text in a window, and retain the 
  1174. original topic in the help engine window. 
  1175. (A Popup is defined by a .popup statement somewhere else in the source file).
  1176.  
  1177. Links can be used, to embedd non-textual information in the topic text. A 
  1178. common non-textual is a graphic link, when the Link Id is the Id of a graphic
  1179. object (defined by a .graphic statement somewhere else in our source), the
  1180. place of the link will be replaced by a graphic picture, in targets that 
  1181. support graphics (such as WinHelp and OS/2 IPF), and remain the Link Text
  1182. in targets that do not supprot graphics.
  1183.  
  1184. Another non-textual link is a sound link. A sound link plays a sound file 
  1185. when a sound object (defined with the .SOUND statement) is clicked by the
  1186. user. 
  1187.  
  1188. Applications can be lauched from a link, when the link key is the identifer of
  1189. an application defined with the .APPLICATION statement.
  1190.  
  1191. Other links can be created using "User Defined Link Templates", with this 
  1192. feature a link template can be created to support additional code translations.
  1193. Please refer to the Extending HDF section below for additional information
  1194. on User defined links.
  1195.  
  1196. When helpC recognizes a link, the following sequence of
  1197. link recognition occurs -
  1198. 1. Try to match link with a graphic object.
  1199. 2. If failed - try to match link with a sound object.
  1200. 3. If failed - try to match link with an application object.
  1201. 4. If failed - try to match link with a user defined link.
  1202. 5. If failed - try to match link with a popup.
  1203. 6. If failed - try to match link with a topic.
  1204. 7. If failed - try to match link with an external topic. (.EXTLINK)
  1205. 8. If failed - opearate according to the current error-level.
  1206.  
  1207. Related Topics :
  1208. Application Launch
  1209. Graphics
  1210. Sound
  1211. Exception Handling
  1212. Technical Documentation
  1213. .HDF Syntax
  1214. Help Compiler
  1215.  
  1216. The helpC compiler supports conditional define directives that allow you to
  1217. tailor your source according to define symbols that are known to the compiler.
  1218.  
  1219. You can use the .ifdef, .ifndef, .else and .endif directives to test the
  1220. target of your compile and do different things according to this target.
  1221.  
  1222. If for example you have a Windows bitmap you want to include in your generated
  1223. RTF file, when you compile to WinHelp format, but, you would like to use a
  1224. statement in other targets that do not support graphics, you could do the 
  1225. following :
  1226.  
  1227. | .ifdef windows
  1228. |   some text {\bmc mybmp.bmp\} some more text
  1229. | .else 
  1230. |   some text AND STATEMENT HERE some more text
  1231. | .endif
  1232.  
  1233. When the compiler will generate the code, the RTF command \bmc will be 
  1234. inserted in the output of the compiler for windows targets (/W30, /W31), 
  1235. and a simple text statement will be inserted otherwise.
  1236.  
  1237. The conditional directives supported are :
  1238.  
  1239. | .ifdef  SYMBOL - Compile code only if SYMBOL is defined.
  1240. | .ifndef SYMBOL - Compile code only if SYMBOL is NOT defined.
  1241. | .endif         - Any .ifdef/.ifndef should be terminated by a .endif .
  1242. | .else          - Reverse the previous .ifdef/.ifndef
  1243.  
  1244. The following SYMBOLS are automatically defined by the compiler :
  1245.  
  1246. Symbol          When Defined
  1247. ------          ------------
  1248. DEF             /PX+
  1249. W31             /W31
  1250. W30             /W30
  1251. THS             /TH+
  1252. QHS             /QH+
  1253. TVH             /TV+
  1254. PHS             /PH+
  1255. DVX             /XD+
  1256. MEM             /MT+
  1257. OS2             /OS2
  1258. TXT             /TXT
  1259. WINDOWS         /W30, /W31
  1260. THELP           /TH+
  1261. QUICKHELP       /QH+
  1262. TVHC            /TV+
  1263. NATIVEPARADOX   /PX+
  1264. POPHELP         /PH+
  1265. DESQVIEW/X      /XD+
  1266. NATIVEMEMORY    /MT+
  1267. VERx.y          When Compiling with helpC Vx.y 
  1268. NATIVE          /PX+, /MT+
  1269. DOCUMENT        /TXT, /RTF
  1270. RTFBASED        /W+, /RTF, /W30, /W31, /MMV
  1271. PRP             /PP+
  1272. PREPROCESS      /PP+
  1273. MMV             /MMV
  1274. MMVIEWER        /MMV
  1275. VIEWER          /MMV
  1276. WWW             /WWW
  1277. HTML            /WWW
  1278.  
  1279. You can define your own conditional defines on the command line using the /D:
  1280. switch of helpC.
  1281.  
  1282. e.g.
  1283.  
  1284. Source :
  1285.  
  1286. | ... some text ..
  1287. | .ifdef mydef
  1288. |   Special Text for mydef situation
  1289. | .endif
  1290. | ... more text
  1291.  
  1292. and you compile using HELPC /D:MYDEF the special text will be included.
  1293.  
  1294. Related Topics :
  1295. Technical Documentation
  1296. Help Definition
  1297.  
  1298.  
  1299. Topic's text can receive visual attributes such as a font, size, bold, 
  1300. italic etc.. by using the paragraph attributes on the .PARAGRAPH (.par)
  1301. line. Text attributes are currently supported in the MMViewer, WinHelp and RTF 
  1302. targets. Some attributes are also supported in HTML (WWW) and IPF targets.
  1303.  
  1304. The attributes that can be applied to text are :
  1305.  
  1306. Font            - The font the text will be displayed in.
  1307. Bold            - The text is displayed in bold characters.
  1308. Italic          - The text is displayed in italic characters.
  1309. Underline       - The text is displayed in underline characters.
  1310. Size            - The size of the font.
  1311. Box             - The paragraph can be contained in a box.
  1312. Align           - The paragraph can be alligned.
  1313. Color           - The text foreground color.
  1314. BgColor         - The text background color.
  1315. Scroll          - Set scroll/No Scroll.
  1316.  
  1317. The syntax is :
  1318.  
  1319. | .PARAGRAPH [attr1 attr1-parameters [attr2 attr2-parameters [..] ]]
  1320.  
  1321. The allowed parameters to attributes are :
  1322.  
  1323. 1. FONT font-number-in-font-palette : The font number in the font palette, there
  1324. is a standard font palette for MMViewer, WinHelp and rtf targets that include 
  1325. the following fonts :
  1326.  
  1327.  0 : Times Roman        (roman Tms Rmn)
  1328.  1 : Symbol             (decor Symbol)
  1329.  2 : Helvetica          (swiss Helv)
  1330.  3 : LinePrinter        (modern LinePrinter)
  1331.  4 : Terminal           (roman Terminal)
  1332.  5 : Times New Roman    (roman Times New Roman)
  1333.  6 : Arial              (swiss Arial)
  1334.  7 : CG Times (WN)      (roman CG Times (WN))
  1335.  8 : Courier            (modern Courier)
  1336.  9 : Modern             (modern Modern)
  1337. 10 : Script             (script Script)
  1338. 11 : Univers (WN)       (swiss Univers (WN))
  1339. 12 : Wingdings          (nil Wingdings)
  1340. 13 : MS Sans Serif      (swiss MS Sans Serif)
  1341.  
  1342. 2. BOLD ON|OFF - Set bold mode to on/off.
  1343.  
  1344. 3. ITALIC ON|OFF - Set italic mode to on/off.
  1345.  
  1346. 4. UNDERLINE ON|OFF - Set underline mode on/off.
  1347.  
  1348. 5. SIZE font-size - Set the size of the font.
  1349.  
  1350. 6. BOX NONE|NORMAL|THICK|SHADOW|DOUBLE - Print paragraph in a box which has one
  1351. of the described borders : NONE is no border at all.
  1352.  
  1353. 7. ALIGN LEFT|RIGHT|CENTER|JUSTIFY - Print the text in the paragraph aligned
  1354. to one of the sides, the center or justified in the paragraph.
  1355.  
  1356. 8. COLOR color-number-in-color-palette - The numbers are the same numbers used
  1357. for dos native systems and described in the help definition format section
  1358. above, regarding the .LINKCOLOR, .TEXTCOLOR and .LINKHIGH statements.
  1359.  
  1360. 9. BGCOLOR color-in-palette - Same as the COLOR parameter, but used for the 
  1361. background color. Currently supported only in the WinHelp .TITLEDEFAULTS
  1362. and .ATTRDEFAULTS statements.
  1363.  
  1364. 10. SCROLL ON|OFF - useful only in WinHelp/Multimedia Viewer title attributes,
  1365. if you set SCROLL OFF a non scrolling region is created.
  1366.  
  1367. Example :
  1368.  
  1369. | .PAR BOX SHADOW FONT 13 BOLD ON
  1370. |    ... some text here ..
  1371. | .ENDPAR
  1372.  
  1373. Will display the paragraph in a shadow bordered box, using font 13 in the 
  1374. palette (MS Sans Serif assuming that the original palette is used) with bold
  1375. characters.
  1376.  
  1377. Related Topics :
  1378. Technical Documentation
  1379. Help Definition
  1380.  
  1381.  
  1382. Topics can be associated to groups using the .GROUPS statement in the topic
  1383. heading. Menus to these groups can later be created by using the 
  1384. command .INSERT GROUP group-name in the topic text.
  1385.  
  1386. An example will clarify the use of this function :
  1387.  
  1388. Let us assume that we have a car's collectors database, where the description
  1389. of each car is a topic. We would like to present a hierarchy to the user that
  1390. looks like that : 
  1391.  
  1392. Overview Screen
  1393.    |
  1394.    +--------- Cars by Country
  1395.    |               |
  1396.    |               +------------ U.S.A ... List of cars manufactured in U.S.A
  1397.    |               +------------ U.K.
  1398.    |               +------------ Italy
  1399.    |
  1400.    +--------- Cars by Maker
  1401.    |               |
  1402.    |               +------------ Alfa-Romeo ... List of Alfa-Romeo models
  1403.    |               +------------ GM
  1404.    |               +------------ Mazda
  1405.    |
  1406.    +--------- Cars by type
  1407.                    |
  1408.                    +------------ 4x4 & Jeeps
  1409.                    +------------ Sport Cars
  1410.                    +------------ Family Sedans
  1411.                         
  1412. We will create group references in the topics using the .GROUPS statement,
  1413. The Alfa Romeo Spider 2000 topic will look like :
  1414.  
  1415. | .topic alfa_romeo_spider_2000
  1416. | .title Alfa Romeo Spider 2000
  1417. | .keywords alfa spider convertible sport classic
  1418. | .groups italian alfa sport
  1419. | The Alfa Romeo ... 
  1420. | .end-topic
  1421.  
  1422. The Italian Cars Directory topic will be :
  1423.  
  1424. | .topic italy_directory
  1425. | .title Italian Cars Directory
  1426. | .keywords directory
  1427. | Cars Manufactured in Italy :
  1428. | .insert group italian
  1429. | .end-topic
  1430.  
  1431. If our database includes 3 cars that have a reference to the Italian group
  1432. this will be the equivalent of writing :
  1433.  
  1434. | .topic italy_directory
  1435. | .title Italian Cars Directory
  1436. | .keywords directory
  1437. | Cars Manufactured in Italy :
  1438. | ~Alfa Romeo Spider 2000~alfa_romeo_spider_2000~
  1439. | ~Ferrari 308 GTS~Ferrari_308_gts~
  1440. | ~Fiat Uno 70S~fiat_uno_70s~
  1441. | .end-topic
  1442.  
  1443. Related Topics :
  1444. Technical Documentation
  1445. .HDF Syntax
  1446. Conditional Defines
  1447.  
  1448. helpC provides mechanism to handle link exceptions. An exception is a link
  1449. to an identifier that is not defined as a Topic or PopUp. In order to help
  1450. you find these errors helpC contains the cross reference report that can
  1451. be produced using the /R+ switch. You can browse the HELPC.LST file generated
  1452. by helpC if a cross reference report is generated, and search for the string
  1453. ERROR that describes undefined links.
  1454.  
  1455. helpC provides additional exception handling facilities. When an error is found
  1456. during compile helpC can perform on of the following actions :
  1457.  
  1458. 0: No Check - Default - helpC does not do anything. The link is passed as is to
  1459.               the target. The target help engine/compiler will handle the 
  1460.               exception as it is implemented.
  1461.  
  1462. 1: Trap     - helpC will replace the link key with the key ERROR. It is the 
  1463.               responsibility of the help database author to provide such a
  1464.               topic/popup.
  1465.  
  1466. 2: Strip    - helpC will pass the text of the link to the target with no link
  1467.               support. The text will appear as normal text.
  1468.  
  1469. 3: Delete   - Both the text and the link will be deleted and will not appear in
  1470.               the target.
  1471.  
  1472. 9: Abort    - helpC will abort, with an error message, indicating the line the 
  1473.               link is defined. This mode is recommended when you are debugging 
  1474.               your help database.
  1475.  
  1476. You can set the error level using the following techniques :
  1477.  
  1478. - Use the /EL=x switch on the helpC command line.
  1479.  
  1480. - Use the .ERRORLEVEL x .HDF statement.
  1481.  
  1482. Important Points :
  1483.  
  1484. 1. When errorLevel = 0 (default) no topic database is created during pass 1,
  1485. if you set .errorlevel somewhere in your source, after some topics/popups
  1486. have been defined, these topics will not be in the symbol table created by
  1487. helpC and will be considered an exception!.
  1488.  
  1489. 2. You can use the /FC+ switch to "Force Collection" of Topics data, even when
  1490. the ERRORLEVEL is 0.
  1491.  
  1492. Related Topics :
  1493. Technical Documentation
  1494. .HDF Syntax
  1495. Help Compiler
  1496.  
  1497.  
  1498. Native Graphic support is provided by graphic "links", and graphic object
  1499. definitions.
  1500.  
  1501. In order to incorporate graphics into your database, use the .GRAPHIC
  1502. command to define a graphic object. This command associates a graphic file
  1503. with a unique identifier.
  1504.  
  1505. Whenever you want to use the graphic image in one of your topics, you should
  1506. define a link with the following syntax :
  1507.  
  1508. ~Link Text in non-graphic targets~graphic-identifier~
  1509.  
  1510. If the target of the compiler has no helpC native graphic support, the 
  1511. "Link Text in non-graphic targets" sentance will be used, if the target 
  1512. is supported, the graphic-identifier will be displayed.
  1513.  
  1514. In this version of HLPDK native graphics support is provided for WinHelp,
  1515. Microsoft Multimedia Viewer (MMViewer), WWW and OS/2 IPF Bitmaps.
  1516.  
  1517. Notice that the graphic-identifier must be unique, and must not be identical
  1518. to a topic/popup/sound name. Please refer to the Links section for
  1519. link recognition sequence information.
  1520.  
  1521. Link Modifiers are attributes that are defined after the link name, separated
  1522. with the ";" character.
  1523.  
  1524. The following modifiers are defined for Graphic support :
  1525.  
  1526. Left   : Align the graphic object to the left of the window.
  1527. Right  : Align the graphic object to the right of the window.
  1528. Center : Align the graphic object to the center of the window.
  1529.  
  1530. Please refer to one of the standard documentation examples that are supplied
  1531. with the HLPDK package, for demos of graphic use.
  1532.  
  1533. Related Topics :
  1534. Technical Documentation
  1535. .HDF Syntax
  1536. Help Compiler
  1537. Links
  1538.  
  1539. Sound support is provided by sound "links", and sound object definition.
  1540.  
  1541. In order to incorporate sound into your database, use the .SOUND command
  1542. to define a sound object. This command associates a sound file (WAV in windows)
  1543. with a unique identifier.
  1544.  
  1545. Whenever you want to use the sound object in one of your topics, you have to
  1546. define a link with the following syntax :
  1547.  
  1548. ~Text To Be Clicked On~sound-identifier~
  1549.  
  1550. Currently, Sound support is available only in the MMViewer and WinHelp targets.
  1551. The name of the sound object in this version should be a WAV file, that 
  1552. is in the \WINDOWS directory. The WINDOWS MMSYSTEM multi-media support looks
  1553. for the sound file in this directory!.
  1554.  
  1555. Related Topics :
  1556. Technical Documentation
  1557. .HDF Syntax
  1558. Help Compiler
  1559. Links
  1560.  
  1561. Applications can be launched from the help database using application launch 
  1562. links, and application definitions.
  1563.  
  1564. An application has to be defined using the .APPLICATION statement that uses the
  1565. following syntax :
  1566.  
  1567. | .APPLICATION application-id 'application-activation-code'
  1568.  
  1569. Where application-id is the identifier to the application that will be used 
  1570. in application launch links, and the application-activation-code is the 
  1571. [optional] path to the application and the application executable. If 
  1572. parameters should be specified, the application-activation-code should be
  1573. surrounded by quotes, with a space separating the path to the application from
  1574. the parameters.
  1575.  
  1576. When you want to include an application launch in the topic text, the 
  1577. application-id should be used as the key of a link.
  1578. e.g. ~Press Here To Run XXX.EXE~application-id~
  1579.  
  1580.  
  1581. Related Topics :
  1582. Technical Documentation
  1583. .HDF Syntax
  1584. Help Compiler
  1585. Links
  1586.  
  1587. helpC supports multiple file target databases, with the use of the following
  1588. HDF statements : .EXTLINK, and .EXPORT .
  1589.  
  1590. When a link that exists in an external database is needed, the .EXTLINK 
  1591. statement is used to define the properties and attributes of that link.
  1592.  
  1593. The most important property - is the database name, that defines which 
  1594. database should be called. Other attributes include the title, keywords,
  1595. numeric references and groups this external topic should be associated with.
  1596.  
  1597. If we have a "simple" complex project, with only 2 databases, and links 
  1598. between them, we might not find it difficult to define the "public" links
  1599. of database 1 in database 2, and vice versa, but - if the project involves
  1600. more databases, we might find it hard to create these public references to
  1601. all external database, in each database. We can, however, define .EXTLINK
  1602. statements of the public links of each database, in a separate file, and
  1603. use the .INCLUDE statement to include them, in the other statements.
  1604.  
  1605. helpC can be used, with the /PP+ switch, to create these "reference" export
  1606. files, with the name of database.EXP when we use the following command :
  1607.  
  1608. HELPC /PP+ database-name
  1609.  
  1610. If we want a .EXTLINK statement to be created for a topic, we have to
  1611. add the .EXPORT attribute to the topic defintion. An alternative is to use
  1612. the /EA+ switch of the helpC compiler, that exports all topics in the database,
  1613. in a PreProcess target compile (/PP+).
  1614.  
  1615. The .EXTLINK statement has the following syntax :
  1616.  
  1617. | .EXTLINK database 'topic-identifier'
  1618. | [.TITLE topic-title]
  1619. | [.REFERENCE topic-numeric-reference]
  1620. | [.KEYWORDS keyword [keyword ..] ]
  1621. | [.GROUPS group [group ..] ]
  1622. | .END-EXTLINK
  1623.  
  1624. Where database is the name of the external database that the link is in,
  1625. topic-identifier is the id of the link in the external database, title, 
  1626. keywords and groups have the same meaning as in the .TOPIC definition, and
  1627. the topc-numeric-reference is a numeric reference associated with the 
  1628. topic, in the external database, if this is needed.
  1629.  
  1630. Related Topics :
  1631. Technical Documentation
  1632. .HDF Syntax
  1633. Help Compiler
  1634.  
  1635. The HDF syntax can be extended by creating "User Defined Link Templates", 
  1636. with these templates special links can be created, that can be used to support
  1637. additional link types.
  1638.  
  1639. In order to create a user link template, use the following statement :
  1640.  
  1641. | .USERLINK userlink-id template
  1642.  
  1643. Where userlink-id is the name of the template, and template defines the way
  1644. the link will be translated.
  1645.  
  1646. The template can include the following substitution characters :
  1647.  
  1648. %%              - Replace with a %
  1649. %t              - Replace with the text of the link
  1650. %k              - Replace with the key of the link
  1651. %1, %2, .. %9   - Replace with parameter #x
  1652. %o              - Replace with target (output) database name.
  1653. %c              - Replace with context-id (topic name) of current topic.
  1654. %n              - Replace with a carrige-return and newline characters.
  1655. %r1, %r2, ..    - Replace with the resolution number of the topic-id in 
  1656.                   parameter x. This is needed for links in IPF (OS/2) and
  1657.                   PopHelp targets.
  1658. %g1, %g2, ..    - Replace with the graphic object whose id is in parameter x.
  1659. %s1, %s2, ..    - Replace with the sound object whose id is in parameter x.
  1660. %a1, %a2, ..    - Replace with the application object, whose id is in parm x.
  1661. %e1, %e2, ..    - Replace with the embedded object, whose name is in parm x. 
  1662.                   Notice, that only the file name and extension are returned,
  1663.                   while in the %gx, %sx and %ax, the entire path is returned.
  1664.  
  1665. User links can be used in the topic text with the following syntax :
  1666.  
  1667.    .. some text ~link-text~userlink-id(param1 param2 ..)~ .. more text
  1668.  
  1669. Use this command to extend the HDF syntax. You can even create special 
  1670. libraries to support video/animation etc.. from the help databases, with these
  1671. extensions.
  1672.  
  1673. e.g. - To create a link to a topic, with a graphic bitmap, we could define
  1674. the following User Link : (Example for WinHelp/MMViewer)
  1675.  
  1676. | .userlink graphicJump '{\uldb \{bmc %g1\} %t}{\v %2}'
  1677.  
  1678. And assuming we defined a graphic object as 
  1679.  
  1680. | .graphic mypicture ronp.bmp
  1681.  
  1682. We could create a graphic links such as :
  1683.  
  1684.   Click ~Ron Loewy~graphicJump(mypicture ronTopic)~ to know about the author.
  1685.  
  1686. In the target RTF this will be translated to :
  1687.  
  1688.   Click {\uldb \{bmc ronp.bmp\} Ron Loewy}{\v ronTopic} to know about the author.
  1689.  
  1690. HLPDK includes a standard system extension library, that uses userlink 
  1691. templates to support in-paragraph text attributes, extended grtaphic, video,
  1692. CDAudio, animation and other multimedia items. Please refer to the HDKLIB.DOC
  1693. file for additional information.
  1694.  
  1695. Related Topics :
  1696. Technical Documentation
  1697. Links
  1698. .HDF Syntax
  1699. Help Compiler
  1700.  
  1701.   The topic index table format is as follows :
  1702.  
  1703.   TOPIC     - 40 characters string key - this is the topic "name".
  1704.   FILENAME  - 38 characters string field - includes the name of the
  1705.               help raw data file. (Notice - V1.0 ignores the value of this 
  1706.               field, it is here for future expansion).
  1707.   START     - longint (long) field that contains the offset from the data file
  1708.               start, to the start of the topics text data, in bytes.
  1709.   LEN       - longint (long) field that contains the length (in bytes) of the 
  1710.               text data of the topic.
  1711.   TITLE     - 70 characters string key - the title of the topic.
  1712.   TTYPE     - 1 character - topic type. Currently supported types are :
  1713.               'T' = Topic.
  1714.               'P' = Popup.
  1715.  
  1716. Related Topics :
  1717. Technical Documentation
  1718. Links Index Format
  1719. Keywords Index Format
  1720. Set File Format
  1721.  
  1722.   The links index table format is as follows :
  1723.  
  1724.   TOPIC     - 40 characters string key - the name of the topic that 
  1725.               has the link.
  1726.   SEQ       - integer (int) key - contains the sequential number of 
  1727.               the link in the topic. (This way you can assign the links
  1728.               order in the topic).
  1729.   LINK      - 40 characters string key - the name of the link topic to
  1730.               display if the link is chosen.
  1731.   LINE      - integer (int) field - the line (from the start of the topic) 
  1732.               this link is displayed on.
  1733.   COL       - integer (int) field - the column this link is displayed on.
  1734.   TXT       - 70 characters string field - the text to display on the line.
  1735.  
  1736. Related Topics :
  1737. Technical Documentation
  1738. Topic Index Format
  1739. Keywords Index Format
  1740. Set File Format
  1741.  
  1742. The set file is a text file that contains one entry in each line, using
  1743. the following format :
  1744.  
  1745. help-database-engine
  1746. version-of-generating-compiler
  1747. topic-index-table name
  1748. links-index-table name
  1749. keywords-index-table name
  1750. help-raw-data-file name
  1751. number-of-topics
  1752. length-of-file
  1753. link-normal-color
  1754. link-high-color
  1755. text-normal-color
  1756. contents-topic-name
  1757.  
  1758. The help-database-engine values available today are DEF=Paradox and 
  1759. MEM=memory Tables.
  1760.  
  1761. Related Topics:
  1762. Technical Documentation
  1763. Topic Index Format
  1764. Links Index Format
  1765. Keywords Index Format
  1766.  
  1767.   The keywords index table format is as follows :
  1768.  
  1769.   KEYWORD   - 40 characters string key - the keyword.
  1770.   TOPIC     - 40 characters string key - the topic name that this keyword is 
  1771.               assigned to.
  1772.  
  1773.   Notice - the database will include a row for each keyword, that has the 
  1774.   TOPIC field blank. This is used to display the first list of keywords, that
  1775.   if chosen, will display the 2nd list of topics that have the chosen keyword
  1776.   in their .KEYWORDS definition.
  1777.  
  1778. Related Topics:
  1779. Technical Documentation
  1780. Topic Index Format
  1781. Links Index Format
  1782. Set File Format
  1783.  
  1784. The following products/packages provide additional HLPDK functionality :
  1785.  
  1786. 1. Name         : IL2HDK - Interrupt List (Ralf Brown) 2 HLPDK convert program. 
  1787.    Version      : 3.1
  1788.    Availability : IL2HDK31.ZIP. (OS/2)
  1789.    Status       : Free. 
  1790.    Author       : Ron Loewy.
  1791.  
  1792. 2. Name         : HPCHDK - HelpPC 2 HLPDK convert program.
  1793.    Version      : 1.0
  1794.    Availability : HPCHDK10.ZIP.
  1795.    Status       : Free.
  1796.    Author       : Yaniv Golan (s2942275@tech02.technion.ac.il)
  1797.  
  1798. 3. Name         : SCANHELP - Turbo Pascal Scanner to help.
  1799.    Version      : 3.26
  1800.    Availability : SCANH326.ZIP (Contact Author)
  1801.    Status       : Shareware.
  1802.    Author       : Duncan J. Murdoch (dmurdoch@mast.QueensU.CA)
  1803.  
  1804. 4. Name         : NG2HDK - Norton Guides 2 HLPDK convert program.
  1805.    Version      : 1.0
  1806.    Availability : NG2HDK10.ZIP
  1807.    Status       : Free.
  1808.    Author       : Ron Loewy.
  1809.  
  1810. 5. Name         : NEWSDB - usenet News Clips Hypertext generator.
  1811.    Version      : 1.0.
  1812.    Availability : NEWSDB10.ZIP
  1813.    Status       : Shareware.
  1814.    Author       : Ron Loewy.
  1815.  
  1816. 6. Name         : POPHDK - POPHELP 2 HLPDK convert program.
  1817.    Version      : 1.0
  1818.    Availability : POPHDK10.ZIP.
  1819.    Status       : Free.
  1820.    Author       : Yaniv Golan (s2942275@tech02.technion.ac.il)
  1821.  
  1822. 7. Name         : JARG2HDK - Jargon File to HLPDK convert program.
  1823.    Version      : 1.0
  1824.    Availability : ? (Contact Author)
  1825.    Status       : ?
  1826.    Author       : Slren Pingel Dalsgaard (pingel@daimi.aau.dk)
  1827.  
  1828. 8. Name         : RC2HDK - Windows Resource File Help Template Generator.
  1829.    Version      : 2.0
  1830.    Availability : RC2HDK20.ZIP.
  1831.    Status       : Shareware.
  1832.    Author       : Ron Loewy.
  1833.  
  1834. 9. Name         : CPFHDK - C++ FAQ 2 HLPDK convert program.
  1835.    Version      : 1.0
  1836.    Availability : Contact author.
  1837.    Status       : Free ?
  1838.    Author       : Yaniv Golan (s2942275@tech02.technion.ac.il)
  1839.  
  1840. 10.Name         : CVTOPHLP - OPRO Help 2 HLPDK convert program.
  1841.    Version      : ?
  1842.    Availability : CIS:PCVENB forum, Sect. TurboPower, CVTHLP.LZH
  1843.    Status       : Free to OPro/TPro owners ?
  1844.    Author       : Julian M. Bucknall, TurboPower Software, CIS:100116,1572
  1845.  
  1846. 11.Name         : TPF2HDK - Timo Salmi's Pascal FAQ 2 HLPDK convert program.
  1847.    Version      : 1.0
  1848.    Availability : TPFHDK10.ZIP
  1849.    Status       : Free.
  1850.    Author       : Ron Loewy.
  1851.  
  1852. Currently under development : RTF2HDK, HDKEDIT and more ..
  1853.  
  1854.  
  1855.  Application Launch
  1856.  Command Line
  1857.  Complex Projects (Multiple file target databases)
  1858.  Conditional Defines
  1859.  CONTACT
  1860.  CREDITS
  1861.  Exception Handling
  1862.  Extending HDF
  1863.  HPLDK Distribution File List
  1864.  Native Graphics Support
  1865.  Groups Definition and Usage
  1866.  Help Definition Format
  1867.  Help Compiler
  1868.  The Help Engine
  1869.  Keywords Index Format
  1870.  Links Index Format
  1871.  Links - internal/external and special
  1872.  Native Database Structure
  1873.  Related Products
  1874.  HLPDK System Overview
  1875.  Quick Start
  1876.  Registration
  1877.  Set File Format
  1878.  Native Sound Support
  1879.  Technical Documentation
  1880.  Text Attributes
  1881.  Topic Index Format
  1882.  Table Of Contents
  1883.  Trouble Shooting
  1884.  
  1885.  
  1886.